package csl.bluetooth.tools.utils;

import java.util.List;

public class MyUtils {

    /**
     * 是否已经存在数据
     * @param datas 数据集
     * @param str 新的数据
     * @return 已经存在返回false,不存在返回true
     */
    public static boolean isInclude(List<String> datas,String str){
        for (String data : datas) {
            if (data.equals(str)) {
                return false;
            }
        }
        return true;
    }

    /**
     * 处理要输入的标签数据
     * @param setId 资产编号
     * @return 返回处理好好的数据
     */
    public static byte[] setTagIdEdit(String setId) {
        setId = setId.toLowerCase();
        byte[] bytes = new byte[(setId.length() / 2) + 1];
        bytes[0] = (byte) (setId.length() / 2);
        int k = 0;
        setId = setId.replace('S', 'A');
        for (int i = 1; i < bytes.length; i++) {
            // 因为是16进制，最多只会占用4位，转换成字节需要两个16进制的字符，高位在先
            byte high = (byte) (Character.digit(setId.charAt(k), 16) & 0xff);
            byte low = (byte) (Character.digit(setId.charAt(k + 1), 16) & 0xff);
            bytes[i] = (byte) (high << 4 | low);
            k += 2;
        }
        return bytes;
    }
}
